// {
//     // 简洁表示法( 比较ES5和ES6写法 )
//     let o = 1;
//     let k = 2;
//     let es5 = {
//         o: o,
//         k: k
//     };
//     let es6 = {
//         o,
//         k
//     };
//     console.log(es5, es6);

//     let es5_method = {
//         hello: function () {
//             console.log('hello');
//         }
//     };
//     let es6_method = {
//         hello() {
//             console.log('hello');
//         }
//     };
//     console.log(es5_method.hello(), es6_method.hello());
// }


// {
//     // 属性表达式
//     let a = 'b';
//     let es5_obj = {
//         a: 'c',
//         b: 'c'
//     };
//     let es6_obj = {
//         [a]: 'c'
//     }
//     console.log(es5_obj, es6_obj);
// }

{
    // 扩展运算符
    let a = { a: 'test', b: 'kill', c: 'ddd', d: 'ccc' };
    let b = { ...a, f: "cccc" }
    console.log("扩展运算符-对象中运用", a, b)
}

{
    // 新增API
    // MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/is
    console.log('字符串', Object.is('abc', 'abc'), 'abc' === 'abc'); //Object.is() 判断两个值是否相同;
    console.log('数组', Object.is([], []), [] === []);

    console.log('拷贝', Object.assign(
        { a: 'a' }, 
        { b: 'b', d: { b: 4, c: 5, f: { b: 4, c: 5 } }}, 
        {cc:[1,2,3,4]} 
    ));

    let test = { k: 123, o: 456 };
    for (let [key, value] of Object.entries(test)) {
        console.log([key, value]);
    }
}
